package com.xy.ssm.service;

import com.xy.ssm.pojo.EmpExample;
import com.xy.ssm.test.EmpMapper;
import com.xy.ssm.pojo.Emp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 谢阳
 * @version 1.8.0_131
 * @date 2022/4/1 14:37
 * @description
 */

@Service
public class EmployeeService {
    @Autowired
    EmpMapper empMapper;

    /**
     * 查询所有员工
     *
     * @return 所有员工信息表
     */
    public List<Emp> getAll() {
        EmpExample empExample = new EmpExample();
        empExample.setOrderByClause("e.emp_id");
        return empMapper.selectByExampleWithDept(empExample);
    }


    /**
     * 保存员工
     * @param emp
     * @return
     */
    public Integer saveEmp(Emp emp) {
        return empMapper.insertSelective(emp);
    }


    /**
     * 检测是否重名
     * @param empName 用户名
     * @return true不重名
     */
    public Boolean checkUser(String empName) {
        EmpExample empExample = new EmpExample();
        empExample.createCriteria().andEmpNameEqualTo(empName);
        return empMapper.countByExample(empExample) == 0;
    }

    /**
     * 通过id过去员工
     * @param empId
     * @return
     */
    public Emp getEmpById(Integer empId) {
        return empMapper.selectByPrimaryKey(empId);
    }

    /**
     * 更具id更新员工
     * @param emp
     * @return
     */
    public Integer updateEmp(Emp emp) {
        return empMapper.updateByPrimaryKeySelective(emp);
    }

    /**
     * 通过员工id删除员工信息
     * @param empId
     * @return
     */
    public Integer deleteEmpById(Integer empId) {
        return empMapper.deleteByPrimaryKey(empId);
    }


    /**
     * 批量删除
     * @param ids
     * @return
     */
    public Integer deleteBatch(List ids) {
        EmpExample empExample = new EmpExample();
        empExample.createCriteria().andEmpIdIn(ids);
        return empMapper.deleteByExample(empExample);
    }
}
